package exception;

public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");

        try {
//            String line = null;
            String line = "a";
            System.out.println(line.length());
            System.out.println(line.charAt(2));
            System.out.println(Integer.parseInt(line));
            //try语句块中报错代码以下的内容是不会执行的
            System.out.println("!!!!!!!!");
        }
       /* catch (NullPointerException e) {
            System.out.println("出现了空指针,并且解决了");
        //catch可以定义多个,针对try中不同异常有不同处理方案时可以分别捕获这些异常
        }catch (StringIndexOutOfBoundsException e){
            System.out.println("出现了字符串下标越界,并且解决了");
        }*/
        catch (NullPointerException | StringIndexOutOfBoundsException e){
            System.out.println("出现了空指针或下标越界异常,并解决了");
        }
        //捕获超类异常时,凡是它的子类型异常都可以被这个catch捕获并处理
        catch (Exception e){
            System.out.println("反正就是出了个错!");
        }


        System.out.println("程序结束了");
    }
}
